home *** CD-ROM | disk | FTP | other *** search
- ---------------------------*-indented-text-*------------------------------
-
- TiMidity -- Experimental MIDI to WAVE converter
- Copyright (C) 1995 Tuukka Toivonen <toivonen@clinet.fi>
-
- --------------------------------------------------------------------------
-
- List of changes
-
- --------------------------------------------------------------------------
- 0.2h to 0.2i
-
- Renamed most source files to fit into 8.3 characters and less. Sorry.
-
- Changes by Davide Moretti <dmoretti@iper.net>: Incorporated the
- changes to allow TiMidity to compile and run under Win32 platforms
- (tested with Windows 95 and Windows NT for Intel). Read README.W32
- for more information.
-
- Tcl/Tk interface by Takashi Iwai <iwai@dragon.mm.t.u-tokyo.ac.jp>.
- Read README.tk.
-
- DEC port by Chi Ming HUNG <cmhung@insti.physics.sunysb.edu>. Read
- README.DEC.
-
- A few bugfixes: WAVE headers, shell substitution, Linux audio O_RDWR,
- dumb/ncurses segfault (thanks to everyone who sent a fix for this ;)
-
- Reversed the sense of the -F option to get rid of some nasty pops.
-
- Attempted to merge Makefile.{SUN|SOLARIS|HPUX|DEC} back into Makefile
- to conserve the world's ketoprofen reserves.
-
- Lowered default amplification to 70% to get a bit more dynamic
- headroom.
-
- 0.2g to 0.2h
-
- Warning! This is a Vincent Pagel release... more official
- release when Tuukka comes back from hollydays, err, his
- exams actually.
-
- I've added a Motif interface with files selection, time scale
- cursor and other blue widgets. More gadgets to come. Changes
- are in motif_* files, but also a big structure change in
- timidity.c and playmidi.c as it is now the interface that
- choose the name of the next file to play.
-
- Added so called "nice" icons
-
- Pipe communication between Motif interface and the program.
-
- Antialiasing filtering now works even with looping patch, nice
- when playing on a SUN at Ulaw at 8Khz ( option -a )
-
- Added a Makefile.HPUX since make on HP does not understand
- the += notation
-
- Thanks to Gilles Dauphin, works on Solaris
-
- 0.2f to 0.2g
-
- Wrote a little WAVE to patch converter and added ".wav" to
- DECOMPRESSOR_LIST to allow using wave files as simple
- instruments. This was Davor Jadrijevic's suggestion from some
- time back. New file: wav2pat.c
-
- Took out ADJUST_PANNING_IMMEDIATELY and put in a command line
- option "-F" for "turn off _F_ast panning". Running out of
- letters for command line options.
-
- Error check in read_config_file to make some noise when
- directories are specified as config files.
-
- Squashed a segfault that resulted from resampling past loop
- end (FINALINTERP, when incr > 1<<FRACTION_BITS).
-
- Sweep computation overflow with seashore.pat fixed.
-
- The portion of sample data from loop_end to data_length is now
- played if the instrument doesn't have a loop or an envelope.
- Some patches (e.g. Fretnoyz from the ProPats 3.0 set) contain
- garbage between loop_end and data_length, so there's a new
- config file option "strip=tail" to drop it off.
-
- Reverse loops are now done "right".
-
- Slight LOOKUP_HACK cleanup. There's a "final_volume_t" type
- that's either an uint8 or an int32, whichever is required for
- mixing computations, and a FINAL_VOLUME() macro to convert an
- int32 to the required type.
-
- Changed the "THING := $(THING) junk" assignments in Makefile
- to "THING += junk"'s. Hopefully the latter is understood by
- more makes than the former. The whole mess will be replaced by
- a configure script within a few releases.
-
- Split up mix_data in mix.c to make it easier to look at.
-
- 0.2e to 0.2f
-
- Moved mixing functions out of resample.c. New files: mix.c,
- mix.h.
-
- Added midia.cfg config file for the Midia patch set.
-
- Added Shawn McHorse's loop optimizations and LOOKUP_SINE
- config.h option.
-
- Added Shawn's FAST_DECAY command line switch -- config.h
- option FAST_DECAY now sets the default for this switch.
-
- USE_LDEXP config.h option, in case your compiler converts
- ldexp() into a straight fscale, and fscale is faster than fmul
- on your machine.
-
- Fixed WAVE header bug -- the lengths were 44 bytes short.
- Thanks to Alexey Marinichev for noticing.
-
- Added PATCH_EXT_LIST option to config.h, so you don't have to
- change every filename in your configuration file when you
- decide to compress your patches.
-
- Added external utility "bag". New file: bag.c, read it for
- info.
-
- Added "extern" to the s32towhatever() prototypes in output.h.
-
- 0.2d to 0.2e
-
- Riccardo Facchetti's S-Lang-based user interface: a more
- efficient alternative to ncurses. Options in Makefile.
-
- Rearranged options in Makefile to make various combinations
- easier to select.
-
- LOOKUP_HACK config file option: horrible experimental kludge
- to substitute table lookups for multiplication. First attempt
- to use uLaw as sample format failed miserably. Now using 8-bit
- linear, which is fine for Sound Blaster owners. It only saves
- ~20% of CPU on a Pentium, but let me know what it does to your
- setup.
-
- Changed instrument loading to add the Sustain flag to all
- patches which have the Looped flag set.
-
- Implemented All Notes Off, All Sounds Off, and Reset All
- Controllers events. The Day of the Tentacle intro music uses
- the first and plays OK now. The other two might work, or they
- might throw your machine into a damaging infinite binary loop.
-
- Implemented Bank Select controller. Sort of emulates the SCC-1
- (I think): use Control Change 00 xx, where xx is the tone bank
- you want. Totally untested. Some MIDI files use Control
- Change 0 for something else, generating loads of warnings.
-
- In config.h, changed the default command line for shorten to
- work with version 1.22. The old one was for some ancient
- version which I finally got around to replacing.
-
- Fencepost error in resampling fixed by Vincent Pagel.
-
- Fixed problem with bidirectional loops and vibrato.
-
- 0.2c to 0.2d
-
- Volume computations rewritten to use both floating point and
- integer multiplication.
-
- Tremolo and vibrato handling. Some tuning parameters are
- available in config.h.
-
- Fixed-pitch, non-looped instruments are now resampled at load
- time. Note that fixed-pitch instruments can't be pitch-bent.
-
- Cheaper click removal scheme. Removed I_WANT_THE_CLICKS_BACK
- option from config.h, added MAX_DIE_TIME definition. Moved
- resampling and mixing functions from playmidi.{c,h} to new
- files: resample.c, resample.h.
-
- Percussion instrument pitches can now be specified
- independently of the note they're assigned to. Melodic
- instrument pitches can also be forced. Extra options in config
- file -- see the manual. Thanks to Davor Jadrijevic for his
- suggestions.
-
- Loops and envelopes are now removed from all percussion
- instruments by default. This should eliminate cymbal crashes
- being cut short.
-
- Changes in gravis.cfg to override some instrument parameters
- that would be guessed incorrectly.
-
- Vincent Pagel's experimental antialiasing filter. This doesn't
- interact very well with looping yet, so it's only applied to
- non-looped instruments. Use the command line option "-a" to
- enable the filter. New files: filtering.c, filtering.h.
-
- Enabled fast forward & rewind in non-trace mode in
- ncurses_ctl.c.
-
- Fixed a problem with envelopes -- envelope handling still
- isn't perfect, but skipping the "Attack 2" phase was dumb.
-
- Added ADJUST_PANNING_IMMEDIATELY to config.h, default on (no
- change from previous behavior).
-
- Silly bug in adjusting non-enveloped voice volumes fixed.
-
- Small change in ncurses_ctl to display 100 for maximum volume
- and expression.
-
- After listening to a GUS, made FAST_DECAY default to on.
-
- Riccardo Facchetti's patch to config.h: Not all Linux systems
- are little-endian.
-
- Riccardo's alternative keyboard commands in ncurses_ctl.c.
- First step towards porting to MS Windows -- you can press
- F1 to get help!
-
- DANGEROUS_RENICE config.h option. Thanks again to Riccardo.
-
- 0.2b to 0.2c
-
- Fixed pitch bend sensitivity again. NRPN controls are now
- correctly ignored.
-
- 0.2a to 0.2b
-
- Francesco Zanichelli's patches to get the Sun version to
- actually compile.
-
- Victor Langeveld's patches to get the FreeBSD version to
- actually compile.
-
- Fixed pitch bend sensitivity. Thanks again to Vincent Pagel
- for the information.
-
- Expression now defaults to 127, as with the SCC-1. Some things
- may sound a bit loud.
-
- 0.1a to 0.2a
-
- Internal changes for easier porting to other systems.
- long long's are gone, floating point is used instead.
- Command line options changed.
-
- Output to HP-UX audio server by Vincent Pagel.
-
- Output to Sun audio device based on Francesco Zanichelli's
- port of version 0.1a.
-
- Output to ZyXEL modems based on Rob Janssen's uLaw patches.
-
- FreeBSD options in Makefile and linux_audio.c. Check for DSP
- fragment capability. (Thanks to Victor Langeveld.)
-
- ncurses interface changes. Trace mode optional.
-
- Fixed bug -- the last MIDI event was getting eaten, causing
- stuck notes at the end of songs. (Reported by Anthony Cruz.)
-
- Pitch-bend sensitivity added, with a hack to process "Data
- entry (MSB)" events. Thanks to Vincent Pagel for info on
- this...
-
- Run-time configuration of quiet and percussion channels.
-
- Volume computation fix. You can now crank the volume up to
- 800%.
-
- Slower envelopes. Pianos sound better, harps sound
- worse. Applause in Beethoven's 5th should sound
- better... Thanks to Tim Norman for comments on this.
- CPU usage went up -- see option FAST_DECAY in config.h.
-
- Panning and volume controls no longer affect notes that have
- already been turned off.
-
- Click reduction on by default. CPU usage went up -- see option
- I_WANT_THE_CLICKS_BACK in config.h.
-
- Sample volume adjustment into compile time option -- see
- option ADJUST_SAMPLE_VOLUMES in config.h
-
- SMPTE time in divisions field in MThd. Untested.
-
- Quote some special characters in filenames before popen().
-
- Hack to accept old patch files and files that claim to contain
- 0 instruments and/or layers.
-
- Behavior when reading Gravis .cfg files changed -- syntax
- error reported instead of segmentation fault.
-
- 0.1a
- First release. Plays MIDI files under Linux.
-